<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<title>ESP8266_RTOS_SDK: include/espressif/espconn.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ESP8266_RTOS_SDK
   &#160;<span id="projectnumber">v1.4.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_cf4dbf1328d2cf10d3f3933741525dc7.html">espressif</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">espconn.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * ESPRSSIF MIT License</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (c) 2015 &lt;ESPRESSIF SYSTEMS (SHANGHAI) PTE LTD&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * Permission is hereby granted for use on ESPRESSIF SYSTEMS ESP8266 only, in which case,</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * it is free of charge, to any person obtaining a copy of this software and associated</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * documentation files (the &quot;Software&quot;), to deal in the Software without restriction, including</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * and/or sell copies of the Software, and to permit persons to whom the Software is furnished</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * to do so, subject to the following conditions:</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be included in all copies or</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * substantial portions of the Software.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifndef __ESPCONN_H__</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#define __ESPCONN_H__</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">typedef</span> sint8 err_t;</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span> *espconn_handle;</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gac2f5cc499f1d963723ed37d87a029a00">   59</a></span>&#160;<span class="keyword">typedef</span> void (* <a class="code" href="group__Espconn__APIs.html#gac2f5cc499f1d963723ed37d87a029a00">espconn_connect_callback</a>)(<span class="keywordtype">void</span> *arg);</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga06024aeff44004ddbdb7044b97676bba">   83</a></span>&#160;<span class="keyword">typedef</span> void (* <a class="code" href="group__Espconn__APIs.html#ga06024aeff44004ddbdb7044b97676bba">espconn_reconnect_callback</a>)(<span class="keywordtype">void</span> *arg, sint8 err);</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* Definitions for error constants. */</span></div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga0149e7f6afdf2a5aef57e1fbe19c0b65">   87</a></span>&#160;<span class="preprocessor">#define ESPCONN_OK           0  </span></div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga45549b79bd5d005eaeabd547f9c9b8d6">   88</a></span>&#160;<span class="preprocessor">#define ESPCONN_MEM         -1  </span></div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga444a33b46763426495ef6445427301f2">   89</a></span>&#160;<span class="preprocessor">#define ESPCONN_TIMEOUT     -3  </span></div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga22ce1e3a32571dd2ec6d755a77ac976c">   90</a></span>&#160;<span class="preprocessor">#define ESPCONN_RTE         -4  </span></div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gab2d9a86577de714e72eb79e757b6e6d2">   91</a></span>&#160;<span class="preprocessor">#define ESPCONN_INPROGRESS  -5  </span></div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga35b472e2b51197621984908dfe3a0984">   92</a></span>&#160;<span class="preprocessor">#define ESPCONN_MAXNUM      -7  </span></div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga0bf23d2d937c693c7d9a66ac609194bc">   94</a></span>&#160;<span class="preprocessor">#define ESPCONN_ABRT        -8  </span></div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga2bae98a46863135cfb79a5296b41d058">   95</a></span>&#160;<span class="preprocessor">#define ESPCONN_RST         -9  </span></div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga867f470db66f9ba20f7ea9a494fe6320">   96</a></span>&#160;<span class="preprocessor">#define ESPCONN_CLSD       -10  </span></div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga39113d279962242d9ed0aaba5fc57c46">   97</a></span>&#160;<span class="preprocessor">#define ESPCONN_CONN       -11  </span></div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga0ab82f63b7e43bf6ea1c36653707b67d">   99</a></span>&#160;<span class="preprocessor">#define ESPCONN_ARG        -12  </span></div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga4abb7c01f3e8465771f76aba5071c1fd">  100</a></span>&#160;<span class="preprocessor">#define ESPCONN_IF         -14  </span></div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gadbb6b13a82c7a627b13faf308fe38981">  101</a></span>&#160;<span class="preprocessor">#define ESPCONN_ISCONN     -15  </span></div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga822c96862e04f46aff8d65cb8170b60f">  104</a></span>&#160;<span class="preprocessor">enum espconn_type {</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga822c96862e04f46aff8d65cb8170b60faf10957d87831780be73e55426e8da737">  105</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga822c96862e04f46aff8d65cb8170b60faf10957d87831780be73e55426e8da737">ESPCONN_INVALID</a> = 0,     </div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga822c96862e04f46aff8d65cb8170b60faf9113ca7b14a1637d2a0099367622879">  106</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga822c96862e04f46aff8d65cb8170b60faf9113ca7b14a1637d2a0099367622879">ESPCONN_TCP</a>     = 0x10,  </div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga822c96862e04f46aff8d65cb8170b60fa85d8592fc339ccda13561161ddfd63f7">  107</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga822c96862e04f46aff8d65cb8170b60fa85d8592fc339ccda13561161ddfd63f7">ESPCONN_UDP</a>     = 0x20,  </div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;};</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga27ebed6341108494ecf41ec8a7d37c4b">  111</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="group__Espconn__APIs.html#ga27ebed6341108494ecf41ec8a7d37c4b">espconn_state</a> {</div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba7dd74b008ab5d04f15ff84de4b70bf90">  112</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba7dd74b008ab5d04f15ff84de4b70bf90">ESPCONN_NONE</a>,        </div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4baa13c91321f9aef1bf5023f1ea18e093a">  113</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4baa13c91321f9aef1bf5023f1ea18e093a">ESPCONN_WAIT</a>,        </div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba97c2f022ffce819bc2658f4e5796543a">  114</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba97c2f022ffce819bc2658f4e5796543a">ESPCONN_LISTEN</a>,      </div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba2581f4215688fddcb1852ea4cbbcdaef">  115</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba2581f4215688fddcb1852ea4cbbcdaef">ESPCONN_CONNECT</a>,     </div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4bab7b47f073e3e6db0ce792ab8fff1df02">  116</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4bab7b47f073e3e6db0ce792ab8fff1df02">ESPCONN_WRITE</a>,       </div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba01caf55e6b01ffa1089348102d42734c">  117</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba01caf55e6b01ffa1089348102d42734c">ESPCONN_READ</a>,        </div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba755ebf5af367126c8c2c33f8e919bac4">  118</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba755ebf5af367126c8c2c33f8e919bac4">ESPCONN_CLOSE</a>        </div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;};</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="struct__esp__tcp.html">  121</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__esp__tcp.html">_esp_tcp</a> {</div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="struct__esp__tcp.html#a50c260a2144cb980f505670e1ea22ccd">  122</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__esp__tcp.html#a50c260a2144cb980f505670e1ea22ccd">remote_port</a>;      </div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="struct__esp__tcp.html#a009e2d58737d2223ce009dc0631e65dc">  123</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__esp__tcp.html#a009e2d58737d2223ce009dc0631e65dc">local_port</a>;       </div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="struct__esp__tcp.html#a2b79759620ce85a36254e2b07c86b62b">  124</a></span>&#160;    uint8 <a class="code" href="struct__esp__tcp.html#a2b79759620ce85a36254e2b07c86b62b">local_ip</a>[4];    </div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="struct__esp__tcp.html#a1e97206aeb1c8767a07fba34b0e10630">  125</a></span>&#160;    uint8 <a class="code" href="struct__esp__tcp.html#a1e97206aeb1c8767a07fba34b0e10630">remote_ip</a>[4];   </div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="struct__esp__tcp.html#a5b1fd73f4d26ae0efbaa786ae2ef5ff1">  126</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gac2f5cc499f1d963723ed37d87a029a00">espconn_connect_callback</a> <a class="code" href="struct__esp__tcp.html#a5b1fd73f4d26ae0efbaa786ae2ef5ff1">connect_callback</a>;      </div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="struct__esp__tcp.html#a7dfb00c9f12a97566da16c71bebd253b">  127</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#ga06024aeff44004ddbdb7044b97676bba">espconn_reconnect_callback</a> <a class="code" href="struct__esp__tcp.html#a7dfb00c9f12a97566da16c71bebd253b">reconnect_callback</a>;  </div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="struct__esp__tcp.html#a90d49d2fa682397e7d439b1e616057a7">  128</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gac2f5cc499f1d963723ed37d87a029a00">espconn_connect_callback</a> <a class="code" href="struct__esp__tcp.html#a90d49d2fa682397e7d439b1e616057a7">disconnect_callback</a>;   </div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="struct__esp__tcp.html#ae885dafd86eabefcff4ead713c21eb82">  129</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gac2f5cc499f1d963723ed37d87a029a00">espconn_connect_callback</a> <a class="code" href="struct__esp__tcp.html#ae885dafd86eabefcff4ead713c21eb82">write_finish_fn</a>;       </div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;} <a class="code" href="struct__esp__tcp.html">esp_tcp</a>;</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="struct__esp__udp.html">  132</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__esp__udp.html">_esp_udp</a> {</div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="struct__esp__udp.html#a50c260a2144cb980f505670e1ea22ccd">  133</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__esp__udp.html#a50c260a2144cb980f505670e1ea22ccd">remote_port</a>;    </div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="struct__esp__udp.html#a009e2d58737d2223ce009dc0631e65dc">  134</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__esp__udp.html#a009e2d58737d2223ce009dc0631e65dc">local_port</a>;     </div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="struct__esp__udp.html#a2b79759620ce85a36254e2b07c86b62b">  135</a></span>&#160;    uint8 <a class="code" href="struct__esp__udp.html#a2b79759620ce85a36254e2b07c86b62b">local_ip</a>[4];  </div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="struct__esp__udp.html#a1e97206aeb1c8767a07fba34b0e10630">  136</a></span>&#160;    uint8 <a class="code" href="struct__esp__udp.html#a1e97206aeb1c8767a07fba34b0e10630">remote_ip</a>[4]; </div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;} <a class="code" href="struct__esp__udp.html">esp_udp</a>;</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="struct__remot__info.html">  139</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__remot__info.html">_remot_info</a> {</div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="struct__remot__info.html#ac3a8d9cd6eef4ec46bcabfd07120e40c">  140</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="group__Espconn__APIs.html#ga27ebed6341108494ecf41ec8a7d37c4b">espconn_state</a> <a class="code" href="struct__remot__info.html#ac3a8d9cd6eef4ec46bcabfd07120e40c">state</a>;   </div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="struct__remot__info.html#a50c260a2144cb980f505670e1ea22ccd">  141</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__remot__info.html#a50c260a2144cb980f505670e1ea22ccd">remote_port</a>;            </div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="struct__remot__info.html#a1e97206aeb1c8767a07fba34b0e10630">  142</a></span>&#160;    uint8 <a class="code" href="struct__remot__info.html#a1e97206aeb1c8767a07fba34b0e10630">remote_ip</a>[4];         </div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;} <a class="code" href="struct__remot__info.html">remot_info</a>;</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga5c93b1b8d3455a8f4fdeb35b064c4b0f">  146</a></span>&#160;<span class="keyword">typedef</span> void (* <a class="code" href="group__Espconn__APIs.html#ga5c93b1b8d3455a8f4fdeb35b064c4b0f">espconn_recv_callback</a>)(<span class="keywordtype">void</span> *arg, <span class="keywordtype">char</span> *pdata, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> len);</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="keyword">typedef</span> void (* espconn_sent_callback)(<span class="keywordtype">void</span> *arg);</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="structespconn.html">  150</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structespconn.html">espconn</a> {</div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="structespconn.html#a2431ce92ac5c0bda2b6e5812ba8e3323">  151</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="group__Espconn__APIs.html#ga822c96862e04f46aff8d65cb8170b60f">espconn_type</a> <a class="code" href="structespconn.html#a2431ce92ac5c0bda2b6e5812ba8e3323">type</a>;     </div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="structespconn.html#ac3a8d9cd6eef4ec46bcabfd07120e40c">  152</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="group__Espconn__APIs.html#ga27ebed6341108494ecf41ec8a7d37c4b">espconn_state</a> <a class="code" href="structespconn.html#ac3a8d9cd6eef4ec46bcabfd07120e40c">state</a>;   </div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="keyword">union </span>{</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        <a class="code" href="struct__esp__tcp.html">esp_tcp</a> *tcp;</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        <a class="code" href="struct__esp__udp.html">esp_udp</a> *udp;</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    } proto;</div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="structespconn.html#a66d8db64dbb623bab3e442dd923371b5">  157</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#ga5c93b1b8d3455a8f4fdeb35b064c4b0f">espconn_recv_callback</a> <a class="code" href="structespconn.html#a66d8db64dbb623bab3e442dd923371b5">recv_callback</a>;    </div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="structespconn.html#aee31e3e88191acb2de9dbbc43a40cd47">  158</a></span>&#160;    espconn_sent_callback <a class="code" href="structespconn.html#aee31e3e88191acb2de9dbbc43a40cd47">sent_callback</a>;    </div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="structespconn.html#a44c66baf2083925ae34e6ff46e7ec281">  159</a></span>&#160;    uint8 <a class="code" href="structespconn.html#a44c66baf2083925ae34e6ff46e7ec281">link_cnt</a>;         </div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="structespconn.html#aaaa8d264a32f8754cf0ffa69f70d8f8d">  160</a></span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="structespconn.html#aaaa8d264a32f8754cf0ffa69f70d8f8d">reserve</a>;          </div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;};</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ga9db40198a52a9becd150a851f9855a92">  163</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="group__Espconn__APIs.html#ga9db40198a52a9becd150a851f9855a92">espconn_option</a> {</div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a9cb44b08d9f53701b054b08d04f7d71f">  164</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a9cb44b08d9f53701b054b08d04f7d71f">ESPCONN_START</a>     = 0x00,   </div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a8c4b05b4bdbd12c64f1809c48d99e395">  165</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a8c4b05b4bdbd12c64f1809c48d99e395">ESPCONN_REUSEADDR</a> = 0x01,   </div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a22a60c5e343e19f83f9facedc8cd6f89">  166</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a22a60c5e343e19f83f9facedc8cd6f89">ESPCONN_NODELAY</a>   = 0x02,   </div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a5a42c1ab1c6a9e2cce272046bce29687">  167</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a5a42c1ab1c6a9e2cce272046bce29687">ESPCONN_COPY</a>      = 0x04,   </div>
<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a131641817461609c89b8086dd90f64a9">  168</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a131641817461609c89b8086dd90f64a9">ESPCONN_KEEPALIVE</a> = 0x08,   </div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92ae2ad46665b977365b8cc24f2b325155f">  169</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92ae2ad46665b977365b8cc24f2b325155f">ESPCONN_END</a>                 </div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;};</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gaaae7451fb36d445e625d52b3f0eec36e">  172</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="group__Espconn__APIs.html#gaaae7451fb36d445e625d52b3f0eec36e">espconn_level</a> {</div>
<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ggaaae7451fb36d445e625d52b3f0eec36ea858f5c8ad925f16f59eb728619235e8b">  173</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#ggaaae7451fb36d445e625d52b3f0eec36ea858f5c8ad925f16f59eb728619235e8b">ESPCONN_KEEPIDLE</a>,   </div>
<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ggaaae7451fb36d445e625d52b3f0eec36ea9266ad9351007ce73e8877405970a6d8">  174</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#ggaaae7451fb36d445e625d52b3f0eec36ea9266ad9351007ce73e8877405970a6d8">ESPCONN_KEEPINTVL</a>,  </div>
<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#ggaaae7451fb36d445e625d52b3f0eec36ea1e723b94b0ac601545a717261203eb1b">  175</a></span>&#160;    <a class="code" href="group__Espconn__APIs.html#ggaaae7451fb36d445e625d52b3f0eec36ea1e723b94b0ac601545a717261203eb1b">ESPCONN_KEEPCNT</a>     </div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;};</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">enum</span> {</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    ESPCONN_IDLE = 0,</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    ESPCONN_CLIENT,</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    ESPCONN_SERVER,</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    ESPCONN_BOTH,</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    ESPCONN_MAX</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;};</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__Espconn__APIs.html#gab1bd524be2b4c1b727e3519e3cae69bf">espconn_init</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga949cd618667cea85b1b99d14b90dce7d">espconn_connect</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>);</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga9969873c3b8ee86a34496a5166cf8bfc">espconn_disconnect</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>);</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga63d15dda14dfcd8da278c31f048910c3">espconn_delete</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>);</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#gabd44446e3fc4a61fdef77d473deb678b">espconn_accept</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>);</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#gad55b9729c7629f40c8e7ae2d73f7f174">espconn_create</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>);</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;uint8 <a class="code" href="group__Espconn__APIs.html#gaa7665768ea19f95957284938cc0af950">espconn_tcp_get_max_con</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga6281d28b05672dc10f702f0e5386fb98">espconn_tcp_set_max_con</a>(uint8 num);</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga8418023ae67bd83742d7d2642c3d4da0">espconn_tcp_get_max_con_allow</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>);</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#gaef6e59fa5bb5d813449d190e2fe66b2e">espconn_tcp_set_max_con_allow</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, uint8 num);</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#gacd79a347f8e665d7b93f31569865b494">espconn_regist_time</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, uint32 interval, uint8 type_flag);</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga95deabffd3b8a4bec81f91596901f84d">espconn_get_connection_info</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *pespconn, <a class="code" href="struct__remot__info.html">remot_info</a> **pcon_info, uint8 typeflags);</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga438ded04b3f8a70948fcf8c551bce179">espconn_regist_sentcb</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, espconn_sent_callback sent_cb);</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga28cae7c705c8d3da7bb614b6c41c8d1a">espconn_regist_write_finish</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, <a class="code" href="group__Espconn__APIs.html#gac2f5cc499f1d963723ed37d87a029a00">espconn_connect_callback</a> write_finish_fn);</div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga6677ecbe38ce063102e4b7a733829a7f">espconn_send</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, uint8 *psent, uint16 length);</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga579e4f1c62f7c33be01398931617e988">espconn_sent</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, uint8 *psent, uint16 length);</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;sint16 <a class="code" href="group__Espconn__APIs.html#ga62219be0ac7e8dd6085915d5c0777476">espconn_sendto</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, uint8 *psent, uint16 length);</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;</div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga233874487e43ccdacf772e47bcd9b976">espconn_regist_connectcb</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, <a class="code" href="group__Espconn__APIs.html#gac2f5cc499f1d963723ed37d87a029a00">espconn_connect_callback</a> connect_cb);</div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;</div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga56d063a430d96d20b4ea5e28ba41011c">espconn_regist_recvcb</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, <a class="code" href="group__Espconn__APIs.html#ga5c93b1b8d3455a8f4fdeb35b064c4b0f">espconn_recv_callback</a> recv_cb);</div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;</div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga771463177734012911e42931a10ee7a2">espconn_regist_reconcb</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, <a class="code" href="group__Espconn__APIs.html#ga06024aeff44004ddbdb7044b97676bba">espconn_reconnect_callback</a> recon_cb);</div>
<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;</div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#gaf43c93f2f0cc14a1c1e95c38e9469b9f">espconn_regist_disconcb</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, <a class="code" href="group__Espconn__APIs.html#gac2f5cc499f1d963723ed37d87a029a00">espconn_connect_callback</a> discon_cb);</div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;</div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;uint32 <a class="code" href="group__Espconn__APIs.html#ga8666579cda9afb8e01dff613326062c0">espconn_port</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;</div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#gac76f13b1bd09b3e43beedd50907e0c72">espconn_set_opt</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, uint8 opt);</div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga9a8be5ecdee08ca20a2516c4aa289c5e">espconn_clear_opt</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, uint8 opt);</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;</div>
<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga0a78bf74f326d99a2cb498a338da8240">espconn_set_keepalive</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, uint8 level, <span class="keywordtype">void</span> *optarg);</div>
<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;</div>
<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#gae7b470d0af4052d0945ed87ffbf8e684">espconn_get_keepalive</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *<a class="code" href="structespconn.html">espconn</a>, uint8 level, <span class="keywordtype">void</span> *optarg);</div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;</div>
<div class="line"><a name="l00606"></a><span class="lineno"><a class="line" href="group__Espconn__APIs.html#gac6c8cf602f9c20d36003dc6d1b518d78">  606</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="group__Espconn__APIs.html#gac6c8cf602f9c20d36003dc6d1b518d78">dns_found_callback</a>)(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, ip_addr_t *ipaddr, <span class="keywordtype">void</span> *callback_arg);</div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;</div>
<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;err_t <a class="code" href="group__Espconn__APIs.html#ga34a3074b536dfc09c842b75210cfcdf1">espconn_gethostbyname</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *pespconn, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname, ip_addr_t *addr, <a class="code" href="group__Espconn__APIs.html#gac6c8cf602f9c20d36003dc6d1b518d78">dns_found_callback</a> found);</div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;</div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga7858298be65d5fb385e0614775799292">espconn_igmp_join</a>(ip_addr_t *host_ip, ip_addr_t *multicast_ip);</div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;</div>
<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga49a50b6b7007818a45e5aa7eb19eace9">espconn_igmp_leave</a>(ip_addr_t *host_ip, ip_addr_t *multicast_ip);</div>
<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;</div>
<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#ga2193ea6779889bef71dc6d368c6b8f80">espconn_recv_hold</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *pespconn);</div>
<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;</div>
<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;sint8 <a class="code" href="group__Espconn__APIs.html#gac409e8c250ee409985475f5c7fa02950">espconn_recv_unhold</a>(<span class="keyword">struct</span> <a class="code" href="structespconn.html">espconn</a> *pespconn);</div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;</div>
<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__Espconn__APIs.html#gabc578b3f5f5701f2a140683a4524ff0a">espconn_dns_setserver</a>(<span class="keywordtype">char</span> numdns, ip_addr_t *dnsserver);</div>
<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;</div>
<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;}</div>
<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;</div>
<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="group__Espconn__APIs_html_ga5c93b1b8d3455a8f4fdeb35b064c4b0f"><div class="ttname"><a href="group__Espconn__APIs.html#ga5c93b1b8d3455a8f4fdeb35b064c4b0f">espconn_recv_callback</a></div><div class="ttdeci">void(* espconn_recv_callback)(void *arg, char *pdata, unsigned short len)</div><div class="ttdef"><b>Definition:</b> espconn.h:146</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga438ded04b3f8a70948fcf8c551bce179"><div class="ttname"><a href="group__Espconn__APIs.html#ga438ded04b3f8a70948fcf8c551bce179">espconn_regist_sentcb</a></div><div class="ttdeci">sint8 espconn_regist_sentcb(struct espconn *espconn, espconn_sent_callback sent_cb)</div><div class="ttdoc">Register data sent callback which will be called back when data are successfully sent. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gac2f5cc499f1d963723ed37d87a029a00"><div class="ttname"><a href="group__Espconn__APIs.html#gac2f5cc499f1d963723ed37d87a029a00">espconn_connect_callback</a></div><div class="ttdeci">void(* espconn_connect_callback)(void *arg)</div><div class="ttdoc">Connect callback. </div><div class="ttdef"><b>Definition:</b> espconn.h:59</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga822c96862e04f46aff8d65cb8170b60faf9113ca7b14a1637d2a0099367622879"><div class="ttname"><a href="group__Espconn__APIs.html#gga822c96862e04f46aff8d65cb8170b60faf9113ca7b14a1637d2a0099367622879">ESPCONN_TCP</a></div><div class="ttdef"><b>Definition:</b> espconn.h:106</div></div>
<div class="ttc" id="struct__esp__tcp_html_a5b1fd73f4d26ae0efbaa786ae2ef5ff1"><div class="ttname"><a href="struct__esp__tcp.html#a5b1fd73f4d26ae0efbaa786ae2ef5ff1">_esp_tcp::connect_callback</a></div><div class="ttdeci">espconn_connect_callback connect_callback</div><div class="ttdef"><b>Definition:</b> espconn.h:126</div></div>
<div class="ttc" id="struct__esp__udp_html"><div class="ttname"><a href="struct__esp__udp.html">_esp_udp</a></div><div class="ttdef"><b>Definition:</b> espconn.h:132</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga6281d28b05672dc10f702f0e5386fb98"><div class="ttname"><a href="group__Espconn__APIs.html#ga6281d28b05672dc10f702f0e5386fb98">espconn_tcp_set_max_con</a></div><div class="ttdeci">sint8 espconn_tcp_set_max_con(uint8 num)</div><div class="ttdoc">Set the maximum number of how many TCP connection is allowed. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gac409e8c250ee409985475f5c7fa02950"><div class="ttname"><a href="group__Espconn__APIs.html#gac409e8c250ee409985475f5c7fa02950">espconn_recv_unhold</a></div><div class="ttdeci">sint8 espconn_recv_unhold(struct espconn *pespconn)</div><div class="ttdoc">Unblock TCP receiving data (i.e. undo espconn_recv_hold). </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gabc578b3f5f5701f2a140683a4524ff0a"><div class="ttname"><a href="group__Espconn__APIs.html#gabc578b3f5f5701f2a140683a4524ff0a">espconn_dns_setserver</a></div><div class="ttdeci">void espconn_dns_setserver(char numdns, ip_addr_t *dnsserver)</div><div class="ttdoc">Set default DNS server. Two DNS server is allowed to be set. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gad55b9729c7629f40c8e7ae2d73f7f174"><div class="ttname"><a href="group__Espconn__APIs.html#gad55b9729c7629f40c8e7ae2d73f7f174">espconn_create</a></div><div class="ttdeci">sint8 espconn_create(struct espconn *espconn)</div><div class="ttdoc">Create UDP transmission. </div></div>
<div class="ttc" id="struct__esp__udp_html_a009e2d58737d2223ce009dc0631e65dc"><div class="ttname"><a href="struct__esp__udp.html#a009e2d58737d2223ce009dc0631e65dc">_esp_udp::local_port</a></div><div class="ttdeci">int local_port</div><div class="ttdef"><b>Definition:</b> espconn.h:134</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga56d063a430d96d20b4ea5e28ba41011c"><div class="ttname"><a href="group__Espconn__APIs.html#ga56d063a430d96d20b4ea5e28ba41011c">espconn_regist_recvcb</a></div><div class="ttdeci">sint8 espconn_regist_recvcb(struct espconn *espconn, espconn_recv_callback recv_cb)</div><div class="ttdoc">register data receive function which will be called back when data are received. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga9969873c3b8ee86a34496a5166cf8bfc"><div class="ttname"><a href="group__Espconn__APIs.html#ga9969873c3b8ee86a34496a5166cf8bfc">espconn_disconnect</a></div><div class="ttdeci">sint8 espconn_disconnect(struct espconn *espconn)</div><div class="ttdoc">Disconnect a TCP connection. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_ggaaae7451fb36d445e625d52b3f0eec36ea1e723b94b0ac601545a717261203eb1b"><div class="ttname"><a href="group__Espconn__APIs.html#ggaaae7451fb36d445e625d52b3f0eec36ea1e723b94b0ac601545a717261203eb1b">ESPCONN_KEEPCNT</a></div><div class="ttdef"><b>Definition:</b> espconn.h:175</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga8418023ae67bd83742d7d2642c3d4da0"><div class="ttname"><a href="group__Espconn__APIs.html#ga8418023ae67bd83742d7d2642c3d4da0">espconn_tcp_get_max_con_allow</a></div><div class="ttdeci">sint8 espconn_tcp_get_max_con_allow(struct espconn *espconn)</div><div class="ttdoc">Get the maximum number of TCP clients which are allowed to connect to ESP8266 TCP server...</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga7858298be65d5fb385e0614775799292"><div class="ttname"><a href="group__Espconn__APIs.html#ga7858298be65d5fb385e0614775799292">espconn_igmp_join</a></div><div class="ttdeci">sint8 espconn_igmp_join(ip_addr_t *host_ip, ip_addr_t *multicast_ip)</div><div class="ttdoc">Join a multicast group. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gaf43c93f2f0cc14a1c1e95c38e9469b9f"><div class="ttname"><a href="group__Espconn__APIs.html#gaf43c93f2f0cc14a1c1e95c38e9469b9f">espconn_regist_disconcb</a></div><div class="ttdeci">sint8 espconn_regist_disconcb(struct espconn *espconn, espconn_connect_callback discon_cb)</div><div class="ttdoc">Register disconnection function which will be called back under successful TCP disconnection. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_ggaaae7451fb36d445e625d52b3f0eec36ea858f5c8ad925f16f59eb728619235e8b"><div class="ttname"><a href="group__Espconn__APIs.html#ggaaae7451fb36d445e625d52b3f0eec36ea858f5c8ad925f16f59eb728619235e8b">ESPCONN_KEEPIDLE</a></div><div class="ttdef"><b>Definition:</b> espconn.h:173</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga27ebed6341108494ecf41ec8a7d37c4bab7b47f073e3e6db0ce792ab8fff1df02"><div class="ttname"><a href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4bab7b47f073e3e6db0ce792ab8fff1df02">ESPCONN_WRITE</a></div><div class="ttdef"><b>Definition:</b> espconn.h:116</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga771463177734012911e42931a10ee7a2"><div class="ttname"><a href="group__Espconn__APIs.html#ga771463177734012911e42931a10ee7a2">espconn_regist_reconcb</a></div><div class="ttdeci">sint8 espconn_regist_reconcb(struct espconn *espconn, espconn_reconnect_callback recon_cb)</div><div class="ttdoc">Register reconnect callback. </div></div>
<div class="ttc" id="structespconn_html_aee31e3e88191acb2de9dbbc43a40cd47"><div class="ttname"><a href="structespconn.html#aee31e3e88191acb2de9dbbc43a40cd47">espconn::sent_callback</a></div><div class="ttdeci">espconn_sent_callback sent_callback</div><div class="ttdef"><b>Definition:</b> espconn.h:158</div></div>
<div class="ttc" id="struct__esp__tcp_html_a2b79759620ce85a36254e2b07c86b62b"><div class="ttname"><a href="struct__esp__tcp.html#a2b79759620ce85a36254e2b07c86b62b">_esp_tcp::local_ip</a></div><div class="ttdeci">uint8 local_ip[4]</div><div class="ttdef"><b>Definition:</b> espconn.h:124</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga27ebed6341108494ecf41ec8a7d37c4ba755ebf5af367126c8c2c33f8e919bac4"><div class="ttname"><a href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba755ebf5af367126c8c2c33f8e919bac4">ESPCONN_CLOSE</a></div><div class="ttdef"><b>Definition:</b> espconn.h:118</div></div>
<div class="ttc" id="struct__remot__info_html"><div class="ttname"><a href="struct__remot__info.html">_remot_info</a></div><div class="ttdef"><b>Definition:</b> espconn.h:139</div></div>
<div class="ttc" id="structespconn_html_aaaa8d264a32f8754cf0ffa69f70d8f8d"><div class="ttname"><a href="structespconn.html#aaaa8d264a32f8754cf0ffa69f70d8f8d">espconn::reserve</a></div><div class="ttdeci">void * reserve</div><div class="ttdef"><b>Definition:</b> espconn.h:160</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga62219be0ac7e8dd6085915d5c0777476"><div class="ttname"><a href="group__Espconn__APIs.html#ga62219be0ac7e8dd6085915d5c0777476">espconn_sendto</a></div><div class="ttdeci">sint16 espconn_sendto(struct espconn *espconn, uint8 *psent, uint16 length)</div><div class="ttdoc">Send UDP data. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga822c96862e04f46aff8d65cb8170b60fa85d8592fc339ccda13561161ddfd63f7"><div class="ttname"><a href="group__Espconn__APIs.html#gga822c96862e04f46aff8d65cb8170b60fa85d8592fc339ccda13561161ddfd63f7">ESPCONN_UDP</a></div><div class="ttdef"><b>Definition:</b> espconn.h:107</div></div>
<div class="ttc" id="struct__remot__info_html_a50c260a2144cb980f505670e1ea22ccd"><div class="ttname"><a href="struct__remot__info.html#a50c260a2144cb980f505670e1ea22ccd">_remot_info::remote_port</a></div><div class="ttdeci">int remote_port</div><div class="ttdef"><b>Definition:</b> espconn.h:141</div></div>
<div class="ttc" id="structespconn_html_a2431ce92ac5c0bda2b6e5812ba8e3323"><div class="ttname"><a href="structespconn.html#a2431ce92ac5c0bda2b6e5812ba8e3323">espconn::type</a></div><div class="ttdeci">enum espconn_type type</div><div class="ttdef"><b>Definition:</b> espconn.h:151</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga9db40198a52a9becd150a851f9855a92a8c4b05b4bdbd12c64f1809c48d99e395"><div class="ttname"><a href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a8c4b05b4bdbd12c64f1809c48d99e395">ESPCONN_REUSEADDR</a></div><div class="ttdef"><b>Definition:</b> espconn.h:165</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga9db40198a52a9becd150a851f9855a92a9cb44b08d9f53701b054b08d04f7d71f"><div class="ttname"><a href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a9cb44b08d9f53701b054b08d04f7d71f">ESPCONN_START</a></div><div class="ttdef"><b>Definition:</b> espconn.h:164</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga06024aeff44004ddbdb7044b97676bba"><div class="ttname"><a href="group__Espconn__APIs.html#ga06024aeff44004ddbdb7044b97676bba">espconn_reconnect_callback</a></div><div class="ttdeci">void(* espconn_reconnect_callback)(void *arg, sint8 err)</div><div class="ttdoc">Reconnect callback. </div><div class="ttdef"><b>Definition:</b> espconn.h:83</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga233874487e43ccdacf772e47bcd9b976"><div class="ttname"><a href="group__Espconn__APIs.html#ga233874487e43ccdacf772e47bcd9b976">espconn_regist_connectcb</a></div><div class="ttdeci">sint8 espconn_regist_connectcb(struct espconn *espconn, espconn_connect_callback connect_cb)</div><div class="ttdoc">Register connection function which will be called back under successful TCP connection. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga6677ecbe38ce063102e4b7a733829a7f"><div class="ttname"><a href="group__Espconn__APIs.html#ga6677ecbe38ce063102e4b7a733829a7f">espconn_send</a></div><div class="ttdeci">sint8 espconn_send(struct espconn *espconn, uint8 *psent, uint16 length)</div><div class="ttdoc">Send data through network. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga9db40198a52a9becd150a851f9855a92a131641817461609c89b8086dd90f64a9"><div class="ttname"><a href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a131641817461609c89b8086dd90f64a9">ESPCONN_KEEPALIVE</a></div><div class="ttdef"><b>Definition:</b> espconn.h:168</div></div>
<div class="ttc" id="struct__esp__tcp_html_a7dfb00c9f12a97566da16c71bebd253b"><div class="ttname"><a href="struct__esp__tcp.html#a7dfb00c9f12a97566da16c71bebd253b">_esp_tcp::reconnect_callback</a></div><div class="ttdeci">espconn_reconnect_callback reconnect_callback</div><div class="ttdef"><b>Definition:</b> espconn.h:127</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga9db40198a52a9becd150a851f9855a92"><div class="ttname"><a href="group__Espconn__APIs.html#ga9db40198a52a9becd150a851f9855a92">espconn_option</a></div><div class="ttdeci">espconn_option</div><div class="ttdef"><b>Definition:</b> espconn.h:163</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga27ebed6341108494ecf41ec8a7d37c4ba97c2f022ffce819bc2658f4e5796543a"><div class="ttname"><a href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba97c2f022ffce819bc2658f4e5796543a">ESPCONN_LISTEN</a></div><div class="ttdef"><b>Definition:</b> espconn.h:114</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gac76f13b1bd09b3e43beedd50907e0c72"><div class="ttname"><a href="group__Espconn__APIs.html#gac76f13b1bd09b3e43beedd50907e0c72">espconn_set_opt</a></div><div class="ttdeci">sint8 espconn_set_opt(struct espconn *espconn, uint8 opt)</div><div class="ttdoc">Set option of TCP connection. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga9db40198a52a9becd150a851f9855a92ae2ad46665b977365b8cc24f2b325155f"><div class="ttname"><a href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92ae2ad46665b977365b8cc24f2b325155f">ESPCONN_END</a></div><div class="ttdef"><b>Definition:</b> espconn.h:169</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga822c96862e04f46aff8d65cb8170b60f"><div class="ttname"><a href="group__Espconn__APIs.html#ga822c96862e04f46aff8d65cb8170b60f">espconn_type</a></div><div class="ttdeci">espconn_type</div><div class="ttdef"><b>Definition:</b> espconn.h:104</div></div>
<div class="ttc" id="structespconn_html_a66d8db64dbb623bab3e442dd923371b5"><div class="ttname"><a href="structespconn.html#a66d8db64dbb623bab3e442dd923371b5">espconn::recv_callback</a></div><div class="ttdeci">espconn_recv_callback recv_callback</div><div class="ttdef"><b>Definition:</b> espconn.h:157</div></div>
<div class="ttc" id="struct__esp__tcp_html"><div class="ttname"><a href="struct__esp__tcp.html">_esp_tcp</a></div><div class="ttdef"><b>Definition:</b> espconn.h:121</div></div>
<div class="ttc" id="struct__esp__tcp_html_ae885dafd86eabefcff4ead713c21eb82"><div class="ttname"><a href="struct__esp__tcp.html#ae885dafd86eabefcff4ead713c21eb82">_esp_tcp::write_finish_fn</a></div><div class="ttdeci">espconn_connect_callback write_finish_fn</div><div class="ttdef"><b>Definition:</b> espconn.h:129</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gabd44446e3fc4a61fdef77d473deb678b"><div class="ttname"><a href="group__Espconn__APIs.html#gabd44446e3fc4a61fdef77d473deb678b">espconn_accept</a></div><div class="ttdeci">sint8 espconn_accept(struct espconn *espconn)</div><div class="ttdoc">Creates a TCP server (i.e. accepts connections). </div></div>
<div class="ttc" id="struct__remot__info_html_a1e97206aeb1c8767a07fba34b0e10630"><div class="ttname"><a href="struct__remot__info.html#a1e97206aeb1c8767a07fba34b0e10630">_remot_info::remote_ip</a></div><div class="ttdeci">uint8 remote_ip[4]</div><div class="ttdef"><b>Definition:</b> espconn.h:142</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga822c96862e04f46aff8d65cb8170b60faf10957d87831780be73e55426e8da737"><div class="ttname"><a href="group__Espconn__APIs.html#gga822c96862e04f46aff8d65cb8170b60faf10957d87831780be73e55426e8da737">ESPCONN_INVALID</a></div><div class="ttdef"><b>Definition:</b> espconn.h:105</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga28cae7c705c8d3da7bb614b6c41c8d1a"><div class="ttname"><a href="group__Espconn__APIs.html#ga28cae7c705c8d3da7bb614b6c41c8d1a">espconn_regist_write_finish</a></div><div class="ttdeci">sint8 espconn_regist_write_finish(struct espconn *espconn, espconn_connect_callback write_finish_fn)</div><div class="ttdoc">Register a callback which will be called when all sending TCP data is completely write into write-buf...</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gac6c8cf602f9c20d36003dc6d1b518d78"><div class="ttname"><a href="group__Espconn__APIs.html#gac6c8cf602f9c20d36003dc6d1b518d78">dns_found_callback</a></div><div class="ttdeci">void(* dns_found_callback)(const char *name, ip_addr_t *ipaddr, void *callback_arg)</div><div class="ttdoc">Callback which is invoked when a hostname is found. </div><div class="ttdef"><b>Definition:</b> espconn.h:606</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ggaaae7451fb36d445e625d52b3f0eec36ea9266ad9351007ce73e8877405970a6d8"><div class="ttname"><a href="group__Espconn__APIs.html#ggaaae7451fb36d445e625d52b3f0eec36ea9266ad9351007ce73e8877405970a6d8">ESPCONN_KEEPINTVL</a></div><div class="ttdef"><b>Definition:</b> espconn.h:174</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga27ebed6341108494ecf41ec8a7d37c4ba2581f4215688fddcb1852ea4cbbcdaef"><div class="ttname"><a href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba2581f4215688fddcb1852ea4cbbcdaef">ESPCONN_CONNECT</a></div><div class="ttdef"><b>Definition:</b> espconn.h:115</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga27ebed6341108494ecf41ec8a7d37c4ba7dd74b008ab5d04f15ff84de4b70bf90"><div class="ttname"><a href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba7dd74b008ab5d04f15ff84de4b70bf90">ESPCONN_NONE</a></div><div class="ttdef"><b>Definition:</b> espconn.h:112</div></div>
<div class="ttc" id="struct__esp__udp_html_a1e97206aeb1c8767a07fba34b0e10630"><div class="ttname"><a href="struct__esp__udp.html#a1e97206aeb1c8767a07fba34b0e10630">_esp_udp::remote_ip</a></div><div class="ttdeci">uint8 remote_ip[4]</div><div class="ttdef"><b>Definition:</b> espconn.h:136</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga579e4f1c62f7c33be01398931617e988"><div class="ttname"><a href="group__Espconn__APIs.html#ga579e4f1c62f7c33be01398931617e988">espconn_sent</a></div><div class="ttdeci">sint8 espconn_sent(struct espconn *espconn, uint8 *psent, uint16 length)</div><div class="ttdoc">Send data through network. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gacd79a347f8e665d7b93f31569865b494"><div class="ttname"><a href="group__Espconn__APIs.html#gacd79a347f8e665d7b93f31569865b494">espconn_regist_time</a></div><div class="ttdeci">sint8 espconn_regist_time(struct espconn *espconn, uint32 interval, uint8 type_flag)</div><div class="ttdoc">Register timeout interval of ESP8266 TCP server. </div></div>
<div class="ttc" id="struct__esp__udp_html_a50c260a2144cb980f505670e1ea22ccd"><div class="ttname"><a href="struct__esp__udp.html#a50c260a2144cb980f505670e1ea22ccd">_esp_udp::remote_port</a></div><div class="ttdeci">int remote_port</div><div class="ttdef"><b>Definition:</b> espconn.h:133</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga27ebed6341108494ecf41ec8a7d37c4baa13c91321f9aef1bf5023f1ea18e093a"><div class="ttname"><a href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4baa13c91321f9aef1bf5023f1ea18e093a">ESPCONN_WAIT</a></div><div class="ttdef"><b>Definition:</b> espconn.h:113</div></div>
<div class="ttc" id="struct__esp__tcp_html_a1e97206aeb1c8767a07fba34b0e10630"><div class="ttname"><a href="struct__esp__tcp.html#a1e97206aeb1c8767a07fba34b0e10630">_esp_tcp::remote_ip</a></div><div class="ttdeci">uint8 remote_ip[4]</div><div class="ttdef"><b>Definition:</b> espconn.h:125</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gae7b470d0af4052d0945ed87ffbf8e684"><div class="ttname"><a href="group__Espconn__APIs.html#gae7b470d0af4052d0945ed87ffbf8e684">espconn_get_keepalive</a></div><div class="ttdeci">sint8 espconn_get_keepalive(struct espconn *espconn, uint8 level, void *optarg)</div><div class="ttdoc">Get configuration of TCP keep alive. </div></div>
<div class="ttc" id="structespconn_html_ac3a8d9cd6eef4ec46bcabfd07120e40c"><div class="ttname"><a href="structespconn.html#ac3a8d9cd6eef4ec46bcabfd07120e40c">espconn::state</a></div><div class="ttdeci">enum espconn_state state</div><div class="ttdef"><b>Definition:</b> espconn.h:152</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga9db40198a52a9becd150a851f9855a92a22a60c5e343e19f83f9facedc8cd6f89"><div class="ttname"><a href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a22a60c5e343e19f83f9facedc8cd6f89">ESPCONN_NODELAY</a></div><div class="ttdef"><b>Definition:</b> espconn.h:166</div></div>
<div class="ttc" id="structespconn_html"><div class="ttname"><a href="structespconn.html">espconn</a></div><div class="ttdef"><b>Definition:</b> espconn.h:150</div></div>
<div class="ttc" id="struct__esp__tcp_html_a90d49d2fa682397e7d439b1e616057a7"><div class="ttname"><a href="struct__esp__tcp.html#a90d49d2fa682397e7d439b1e616057a7">_esp_tcp::disconnect_callback</a></div><div class="ttdeci">espconn_connect_callback disconnect_callback</div><div class="ttdef"><b>Definition:</b> espconn.h:128</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga949cd618667cea85b1b99d14b90dce7d"><div class="ttname"><a href="group__Espconn__APIs.html#ga949cd618667cea85b1b99d14b90dce7d">espconn_connect</a></div><div class="ttdeci">sint8 espconn_connect(struct espconn *espconn)</div><div class="ttdoc">Connect to a TCP server (ESP8266 acting as TCP client). </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gaa7665768ea19f95957284938cc0af950"><div class="ttname"><a href="group__Espconn__APIs.html#gaa7665768ea19f95957284938cc0af950">espconn_tcp_get_max_con</a></div><div class="ttdeci">uint8 espconn_tcp_get_max_con(void)</div><div class="ttdoc">Get maximum number of how many TCP connections are allowed. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga9db40198a52a9becd150a851f9855a92a5a42c1ab1c6a9e2cce272046bce29687"><div class="ttname"><a href="group__Espconn__APIs.html#gga9db40198a52a9becd150a851f9855a92a5a42c1ab1c6a9e2cce272046bce29687">ESPCONN_COPY</a></div><div class="ttdef"><b>Definition:</b> espconn.h:167</div></div>
<div class="ttc" id="struct__esp__udp_html_a2b79759620ce85a36254e2b07c86b62b"><div class="ttname"><a href="struct__esp__udp.html#a2b79759620ce85a36254e2b07c86b62b">_esp_udp::local_ip</a></div><div class="ttdeci">uint8 local_ip[4]</div><div class="ttdef"><b>Definition:</b> espconn.h:135</div></div>
<div class="ttc" id="struct__esp__tcp_html_a009e2d58737d2223ce009dc0631e65dc"><div class="ttname"><a href="struct__esp__tcp.html#a009e2d58737d2223ce009dc0631e65dc">_esp_tcp::local_port</a></div><div class="ttdeci">int local_port</div><div class="ttdef"><b>Definition:</b> espconn.h:123</div></div>
<div class="ttc" id="group__Espconn__APIs_html_gga27ebed6341108494ecf41ec8a7d37c4ba01caf55e6b01ffa1089348102d42734c"><div class="ttname"><a href="group__Espconn__APIs.html#gga27ebed6341108494ecf41ec8a7d37c4ba01caf55e6b01ffa1089348102d42734c">ESPCONN_READ</a></div><div class="ttdef"><b>Definition:</b> espconn.h:117</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga49a50b6b7007818a45e5aa7eb19eace9"><div class="ttname"><a href="group__Espconn__APIs.html#ga49a50b6b7007818a45e5aa7eb19eace9">espconn_igmp_leave</a></div><div class="ttdeci">sint8 espconn_igmp_leave(ip_addr_t *host_ip, ip_addr_t *multicast_ip)</div><div class="ttdoc">Leave a multicast group. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga8666579cda9afb8e01dff613326062c0"><div class="ttname"><a href="group__Espconn__APIs.html#ga8666579cda9afb8e01dff613326062c0">espconn_port</a></div><div class="ttdeci">uint32 espconn_port(void)</div><div class="ttdoc">Get an available port for network. </div></div>
<div class="ttc" id="struct__esp__tcp_html_a50c260a2144cb980f505670e1ea22ccd"><div class="ttname"><a href="struct__esp__tcp.html#a50c260a2144cb980f505670e1ea22ccd">_esp_tcp::remote_port</a></div><div class="ttdeci">int remote_port</div><div class="ttdef"><b>Definition:</b> espconn.h:122</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga9a8be5ecdee08ca20a2516c4aa289c5e"><div class="ttname"><a href="group__Espconn__APIs.html#ga9a8be5ecdee08ca20a2516c4aa289c5e">espconn_clear_opt</a></div><div class="ttdeci">sint8 espconn_clear_opt(struct espconn *espconn, uint8 opt)</div><div class="ttdoc">Clear option of TCP connection. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gab1bd524be2b4c1b727e3519e3cae69bf"><div class="ttname"><a href="group__Espconn__APIs.html#gab1bd524be2b4c1b727e3519e3cae69bf">espconn_init</a></div><div class="ttdeci">void espconn_init(void)</div><div class="ttdoc">espconn initialization. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga0a78bf74f326d99a2cb498a338da8240"><div class="ttname"><a href="group__Espconn__APIs.html#ga0a78bf74f326d99a2cb498a338da8240">espconn_set_keepalive</a></div><div class="ttdeci">sint8 espconn_set_keepalive(struct espconn *espconn, uint8 level, void *optarg)</div><div class="ttdoc">Set configuration of TCP keep alive. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga27ebed6341108494ecf41ec8a7d37c4b"><div class="ttname"><a href="group__Espconn__APIs.html#ga27ebed6341108494ecf41ec8a7d37c4b">espconn_state</a></div><div class="ttdeci">espconn_state</div><div class="ttdef"><b>Definition:</b> espconn.h:111</div></div>
<div class="ttc" id="structespconn_html_a44c66baf2083925ae34e6ff46e7ec281"><div class="ttname"><a href="structespconn.html#a44c66baf2083925ae34e6ff46e7ec281">espconn::link_cnt</a></div><div class="ttdeci">uint8 link_cnt</div><div class="ttdef"><b>Definition:</b> espconn.h:159</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga95deabffd3b8a4bec81f91596901f84d"><div class="ttname"><a href="group__Espconn__APIs.html#ga95deabffd3b8a4bec81f91596901f84d">espconn_get_connection_info</a></div><div class="ttdeci">sint8 espconn_get_connection_info(struct espconn *pespconn, remot_info **pcon_info, uint8 typeflags)</div><div class="ttdoc">Get the information about a TCP connection or UDP transmission. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga2193ea6779889bef71dc6d368c6b8f80"><div class="ttname"><a href="group__Espconn__APIs.html#ga2193ea6779889bef71dc6d368c6b8f80">espconn_recv_hold</a></div><div class="ttdeci">sint8 espconn_recv_hold(struct espconn *pespconn)</div><div class="ttdoc">Puts in a request to block the TCP receive function. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gaef6e59fa5bb5d813449d190e2fe66b2e"><div class="ttname"><a href="group__Espconn__APIs.html#gaef6e59fa5bb5d813449d190e2fe66b2e">espconn_tcp_set_max_con_allow</a></div><div class="ttdeci">sint8 espconn_tcp_set_max_con_allow(struct espconn *espconn, uint8 num)</div><div class="ttdoc">Set the maximum number of TCP clients allowed to connect to ESP8266 TCP server. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_gaaae7451fb36d445e625d52b3f0eec36e"><div class="ttname"><a href="group__Espconn__APIs.html#gaaae7451fb36d445e625d52b3f0eec36e">espconn_level</a></div><div class="ttdeci">espconn_level</div><div class="ttdef"><b>Definition:</b> espconn.h:172</div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga63d15dda14dfcd8da278c31f048910c3"><div class="ttname"><a href="group__Espconn__APIs.html#ga63d15dda14dfcd8da278c31f048910c3">espconn_delete</a></div><div class="ttdeci">sint8 espconn_delete(struct espconn *espconn)</div><div class="ttdoc">Delete a transmission. </div></div>
<div class="ttc" id="group__Espconn__APIs_html_ga34a3074b536dfc09c842b75210cfcdf1"><div class="ttname"><a href="group__Espconn__APIs.html#ga34a3074b536dfc09c842b75210cfcdf1">espconn_gethostbyname</a></div><div class="ttdeci">err_t espconn_gethostbyname(struct espconn *pespconn, const char *hostname, ip_addr_t *addr, dns_found_callback found)</div><div class="ttdoc">DNS function. </div></div>
<div class="ttc" id="struct__remot__info_html_ac3a8d9cd6eef4ec46bcabfd07120e40c"><div class="ttname"><a href="struct__remot__info.html#ac3a8d9cd6eef4ec46bcabfd07120e40c">_remot_info::state</a></div><div class="ttdeci">enum espconn_state state</div><div class="ttdef"><b>Definition:</b> espconn.h:140</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Mar 1 2016 10:19:26 for ESP8266_RTOS_SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>
